<?php
/*
 *百度推送for   ios   api
 *使用的sdk 位置 /shangzhiyi/ThinkPHP/Library/Vendor/Baidupush
 */
namespace Home\Controller;
use Think\Controller;
class BaiduPushForIosController extends Controller {
	
	public function index($itemid,$channelid)
	{
		
	
		/*$itemid=I('get.itemid',186,'strip_tags');
		$channelid=I('get.channelid','5450222781510557715','strip_tags');*/

		$item=M('item');
		$iteminfo=$item->where('itemid=%d',$itemid)
		->Field('itemname,price,inventory,supperprice,bn,brandid')->select();

		
		foreach ($iteminfo as $key => $value) {
			$iteminfo[$key]['brandid']=M('brand')->where("brandid='%s'",$value['brandid'])->getField("brandname");
			
		}
		          ////判断该商品是否存在多规格
		if(empty($iteminfo)){
			$result['status']=0;
			$result['msg']='暂无信息';
			///echo json_encode($result,JSON_UNESCAPED_UNICODE);
			return '';
		}
		$productspc=M('product')->where("itemid='%d'",$itemid)->Field("inventory,price,color,supprice")->select();
		$temp=array();
		if(empty($productspc))
		{
			foreach($iteminfo as $k=>$v){
				
				$temp[0]['selval']='暂无';
				$temp[0]['price']=$v['price'];
				$temp[0]['inventory']=$v['inventory'];
				$temp[0]['supprice']=$v['price'];
			}

		}else{
			foreach ($productspc as $key => $value) {
				
				$temp[$key]['selval']=$value['color'];
				$temp[$key]['price']=$value['price'];
				$temp[$key]['inventory']=$value['inventory'];
				$temp[$key]['supprice']=$value['supprice'];
			
			}
			
		}
		
			$result['status']=1;
			$result['iteminfo']=$iteminfo[0];
			$result['productspc']=$temp;
		
		
		//var_dump($result);die;
		//require_once VENDOR_PATH.'Baidupush/sdk.php';
		//引入百度推送第三方类库
		Vendor('Baidu.sdk');
		// 创建SDK对象.
		///$sdk = new\ PushSDK();
		$sdk = new \PushSDK();
		
		$channelId = $channelid;


		// message content.
		$message = array (
			'aps' => array (
		        // 消息内容
		        'alert' => json_encode($result,JSON_UNESCAPED_UNICODE),
				
				), 
			);



		// 设置消息类型为 通知类型.
		$opts = array (
		    'msg_type' => 1,        // iOS不支持透传, 只能设置 msg_type:1, 即通知消息.
		    'deploy_status' => 2,   // iOS应用的部署状态:  1：开发状态；2：生产状态； 若不指定，则默认设置为生产状态。
		    );
          
		// 向目标设备发送一条消息
		$rs = $sdk -> pushMsgToSingleDevice($channelId, $message, $opts);


		// 判断返回值,当发送失败时, $rs的结果为false, 可以通过getError来获得错误信息.
		if($rs === false){
			$result['errorcode']=$sdk->getLastErrorCode();
			$result['errormsg']=$sdk->getLastErrorMsg();
			return $result;
		}else{
		    // 将打印出消息的id,发送时间等相关信息.
		    $rs['message']=$message;
			return($rs);
		}

		
	}
}
